package com.pn.service;

import com.pn.dto.AssignAuthDto;
import com.pn.entity.Result;
import com.pn.model.Role;
import com.pn.page.Page;

import java.util.List;

/**
 * ClassName:RoleService
 * Package:com.pn.service
 * Description:
 *
 * @date:2024/12/29 19:51
 * @author:bailihua
 */
public interface RoleService {
    //查询所有角色
    List<Role> queryAllRole();
    //查询用户已经被分配的角色
    List<Role> queryUserRoleByUid(Integer userId);
    //分页查询角色
    Page queryRolePage(Page page, Role role);
    //添加角色
    Result saveRole(Role role);
    //启用或者禁用角色
    Result setRoleState(Role role);
    //删除角色
    Result deleteRoleById(Integer roleId);
    //查询角色分配的所有权限菜单
    List<Integer> queryRoleAuthIds(Integer roleId);
    //给角色分配权限
    void saveRoleAuth(AssignAuthDto assignAuthDto);
    //修改角色
    Result setRoleByRid(Role role);
}
